package baum;

public class Knoten {

	private int wert;
	private int tiefe;
	private Knoten vater;
	private Knoten linkesKind;
	private Knoten rechtesKind;

	public Knoten(int wert, Knoten vater, Knoten linkesKind, Knoten rechtesKind) {
		super();
		this.wert = wert;
		this.vater = vater;
		this.linkesKind = linkesKind;
		this.rechtesKind = rechtesKind;
		if (linkesKind == null && rechtesKind == null)
			setTiefe(1);
		else if (linkesKind == null)
			setTiefe(rechtesKind.getTiefe() + 1);
		else if (rechtesKind == null)
			setTiefe(linkesKind.getTiefe() + 1);
		else
			setTiefe(Math.max(linkesKind.getTiefe(), rechtesKind.getTiefe()) + 1);
	}

	public int getWert() {
		return wert;
	}

	public void setWert(int wert) {
		this.wert = wert;
	}

	public Knoten getVater() {
		return vater;
	}

	public void setVater(Knoten vater) {
		this.vater = vater;
	}

	public Knoten getLinkesKind() {
		return linkesKind;
	}

	public void setLinkesKind(Knoten linkesKind) {
		this.linkesKind = linkesKind;
	}

	public Knoten getRechtesKind() {
		return rechtesKind;
	}

	public void setRechtesKind(Knoten rechtesKind) {
		this.rechtesKind = rechtesKind;
	}

	public int getTiefe() {
		return tiefe;
	}

	public void setTiefe(int tiefe) {
		this.tiefe = tiefe;
	}
}
